const compressPlugin = require('compress-webpack-plugin');

// 设置端口号，访问的ip地址，浏览器自动打开等等
// 跨域处理，定义全局变量，定义打包流程等等
module.exports = {
  devServer: {
    port: 8848,
    host: 'localhost'
    // open: true // 配置浏览器自动访问
  },
  chainWebpack(config) {
    // 版本号
    const VERSION = new Date().getTime();

    // 1 添加 br 压缩
    config.plugin('compress').use(
      new compressPlugin({
        test: /\.(js|css|html|svg|png)$/,
        algorithm: 'gzip',
        minRatio: 0.8, // 压缩比率优于 0.8 的才会被压缩
      }),
    );
    // config.plugin('analyz').use(new analyzer.BundleAnalyzerPlugin());

    // 2 添加版本号，每次重新打包后防止强制刷新才能获取最新页面
    config.output.filename(`[name].${VERSION}.bundle.js`).chunkFilename(`[name].${VERSION}.bundle.js`);
  },
}
